草庐IT

c++ - CRT 和 WIN32 API

全部标签

excel - 如何通过Powershell查找安装的是64位还是32位的excel?

我们已经编写了powershell函数来查找是否安装了64位或32位msi。我们正在检查Outlook注册表项,因为它具有位数信息。但是当用户只安装没有outlook的excel时,这个注册表项是不可靠的(在64位操作系统中它可用,但在32位操作系统中它不可用)。以下是我们编写的用于查找的函数。现在,由于注册表项不可用,因此无法正常工作。有没有其他方法可以找到excel的位数?FunctionGet-OfficeVersionInstalled{$NoExcelInstalled='0'$excelApplicationRegKey="HKLM:\SOFTWARE\Classes\Ex

c# - AddFontResource() 在 Win10 周年更新时变慢

我正在维护.NET3.5应用程序。在应用程序启动期间,从工作目录中读取许多字体并在Windows中注册。我们对每个字体文件使用AddFontResource(stringlpFileName)(Gdi32.dll)的pinvoke调用。代码一直很快,直到我升级到Win10周年更新(在此之前,Win10没有问题)。现在一个调用可能需要半秒,这将启动时间增加了90秒。知道是什么导致了这个问题吗?以及如何解决? 最佳答案 Windows10周年更新破坏了AddFontResource和RemoveFontResourceAPI的性能。我们

c - 为什么是 'binary access meaningless on UNIX systems' ?

这个问题在这里已经有了答案:Differencebetweenfileswritteninbinaryandtextmode(7个答案)关闭6年前。我正在根据K&R手册学习C。我知道(并读到)fopen调用中的“b”表示二进制访问。该书接着说,这(二进制访问)在UNIX系统上毫无意义。推断是在Windows上有意义。我的问题是,为什么Windows会区分文本和二进制文件,而UNIX却不会。还有,有什么区别?我发现了一些接近回答它的东西,但仍然不太令我满意:Isthereanydifferencebetweentextandbinarymodeinfileaccess?http://pe

c - 无法读取 C 中的 UNICODE 文本文件

(我查看了以前的帖子并尝试了他们的建议,但无济于事。)我正在尝试读取仅包含日文字符的文件。该文件如下所示:当我尝试读取它时,控制台中没有任何输出显示,并且在调试时,读取缓冲区只是垃圾。这是我用来读取文件的函数:wchar_t*ReadTextFileW(wchar_t*filePath,size_tnumBytesToRead,size_tmaxBufferSize,constwchar_t*mode,intseekOffset,intseekOrigin){size_tnumItems=0;size_tbufferSize=0;wchar_t*buffer=NULL;FILE*fil

python 2 [错误 32] 进程无法访问该文件,因为它正被另一个进程使用

我正在使用python2并阅读了几篇关于此错误的文章,即(thispost)。但是,我仍然收到错误。我所做的是:我读取目录中的文件,如果任何文件包含特定字符串,我将删除该目录。defselect_poo():path=os.walk('/paila_candonga/')texto='poo'extension='.tex'forroot,dirs,filesinpath:fordocumentoinfiles:ifextensionindocumento:withopen(os.path.join(root,documento),'r')asfin:forlinesinfin:ift

c++ - 使用 D3D12Device 调用 DuplicateOutput 失败并显示 E_NOINTERFACE

我一直在尝试制作一个利用桌面复制api的应用程序,但没有使用directx的经验,结果证明这是一个相当大的挑战。似乎一切正常,直到我调用output1->DuplicateOutput(),此时它返回E_NOINTERFACE。msdn文档中未定义此错误,因此我无法诊断问题。我认为这段代码应该可以工作,但我一定遗漏了一些东西。#include#include#includeintmain(){HRESULThr;ID3D12Debug*debug;hr=D3D12GetDebugInterface(IID_PPV_ARGS(&debug));debug->EnableDebugLaye

c - 在 Cygwin 中运行 C 程序不会产生任何结果

在编写一个简单的C程序时,我遇到了“printf”不产生任何结果的问题。代码:#includeintmain(){printf("HelloWorld\n");}编译运行后的Cygwin日志:MMGV@Philipp/cygdrive/c/users/MMGV/Desktop/Programme$gcctest.c-otest.exeMMGV@Philipp/cygdrive/c/users/MMGV/Desktop/Programme$test.exeMMGV@Philipp/cygdrive/c/users/MMGV/Desktop/Programme$没有错误信息,什么都没有。在

Python 3.5(32 位): ImportError: cannot import name NUMPY_MKL

我是Python的新手,我正在尝试安装numpy+mkl和scipy(以相同的顺序),但是当我执行以下步骤时出现以下错误:importpandasaspdimportnumpyasnpfromsklearn.preprocessingimportLabelEncoder我在Windows764位操作系统上使用Python3.5(32位)。此处已针对确切问题回答了类似问题:ImportError:cannotimportnameNUMPY_MKL通过答案,我从提到的链接(http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy)重新安装了我的num

c - 在 Win 10 而非 Win 7 中卸载 DLL 时调试崩溃

不完全确定我是否已经解决了这个问题,但这是我所看到的以及我认为正在发生的事情。我有一个主要用C编写的Win32程序,它加载一个C++DLL。该DLL通过COM对象将数据从C程序传递到另一个应用程序——一个可能由DLL本身实例化的对象。所有这一切显然至少在WindowsXP和Windows7中运行良好(可能是Win95和Win98,我需要更深入地回顾代码历史以找出引入此接口(interface)的时间),但在Windows10中程序崩溃在FreeLibrary()调用此DLL期间。在调试器中检查时,DLL_DETACH_PROCESS似乎已成功处理(处理该消息时未执行任何代码)。崩溃发生

c - 迭代 PEB DllName 仅显示 exe 名称

我正在尝试获取我的应用程序中已加载模块的列表(与安全/shellcode有关,因此请避免调用WINAPI)。我正在遍历PEB->Ldr模块双向链表,但每次打印DLL的名称时,它只是打印当前正在执行的应用程序的名称和路径。在其他人的代码中,我看到他们只是将当前的LIST_ENTRY指针设为PLDR_DATA_TABLE_ENTRY,您可以直接调用FullDllName那样。但是,例如,要实际获取基址,您需要调用Reserved2[0]而不是DllBase,这是可以理解的,因为LIST_ENTRY是结构中的8个字节,但它没有解释为什么可以直接调用FullDllName。Here'sanex